home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (DO) / Softdisk Magazette Volume 1, No. 07 (1982-03)(Softdisk)(Side B).zip / Softdisk Magazette Volume 1, No. 07 (1982-03)(Softdisk)(Side B).do / AMOUNT.WRITEOUT.bas < prev    next >
BASIC Source File  |  1996-12-24  |  3KB  |  51 lines

  1. 100  REM  *   AMOUNT WRITEOUT   *
  2. 110  REM  *          BY         *
  3. 120  REM  *   JAMES W. SMITH    *
  4. 130  REM  ***********************
  5. 140  HOME : PRINT "THIS SUBROUTINE WILL RETURN A LONGFORM    PRINTOUT OF AN AMOUNT"
  6. 150  PRINT : PRINT "IT WOULD BE USEFUL WITH A CHECKWRITING    PROGRAM OR OTHER WHERE DATA IS IN THE   FORM OF A DOLLAR AMOUNT AS STRING V$
  7. 160  PRINT : PRINT "SINCE THE RETURNED STRING IS OFTEN WIDER  THE 40-COLUMN MONITOR SCREEN, IT WILL   BE BETTER TO RUN IT ON YOUR PRINTER"
  8. 170  PRINT : HTAB 2: PRINT "DO YOU WANT PRINTER OR MONITOR (P/M) ": GET X$
  9. 180  IF  LEFT$(X$,1) = "P"  THEN  HOME : VTAB 2: PRINT "WHAT SLOT NUMBER IS YOUR PRINTER ": GET SL$
  10. 190 SL =  VAL(SL$)
  11. 200  HOME : PRINT "WHAT IS THE AMOUNT YOU WISH TO WRITE OUT": PRINT  TAB( 3);"BE SURE TO USE FOLLOWING FORM: 135.89"
  12. 210  PRINT : PRINT  TAB( 3);"ELIMINATE $ SIGN AND COMMAS
  13. 220  PRINT : PRINT "NOTE: AMOUNT MUST BE POSITIVE AND BE-     TWEEN 0.00 AND 90000.00"
  14. 230  PRINT : PRINT 
  15. 240  INPUT "AMOUNT:  ";V$: PRINT : PRINT "NOW, TURN ON PRINTER, SET PAGE LOCATION   AND HIT ANY KEY": GET Z$: PR# SL
  16. 250  GOSUB 1000
  17. 260  END 
  18. 1000  GOSUB 15000: PRINT : PRINT 
  19. 1010  PRINT WW$: RETURN 
  20. 15000 AW$ = V$:AW =  VAL(V$)
  21. 15010  ON  LEN(AW$) -2 GOSUB 15160,15120,15100,15070,15040,15030
  22. 15020  RETURN 
  23. 15030  GOTO 15100
  24. 15040  GOSUB 15240: IF PW$ = ""  THEN  GOTO 15070
  25. 15050 WW$ = WW$ +" THOUSAND, "
  26. 15060  GOSUB 15250
  27. 15070  GOSUB 15240: IF PW$ = ""  THEN  GOTO 15090
  28. 15080 WW$ = WW$ +" HUNDRED, "
  29. 15090  GOSUB 15250
  30. 15100  GOSUB 15220: GOSUB 15250
  31. 15110  IF WX = 1  THEN  RESTORE :PW =  VAL( LEFT$(AW$,1)): FOR X = 1 TO 10: READ PW$: NEXT : FOR X = 0 TO PW: READ PW$: NEXT :WW$ = WW$ +PW$
  32. 15120  IF WX < >1  THEN  GOSUB 15240
  33. 15130  IF  LEN(AW$) = 7  THEN  GOSUB 15270: GOTO 15050
  34. 15140  IF  RIGHT$(WW$,2) = ", "  THEN WW$ =  LEFT$(WW$, LEN(WW$) -2) +" "
  35. 15150  GOTO 15170
  36. 15160 WW$ = WW$ +"NONE"
  37. 15170  IF  LEN(WW$) <46  THEN WW$ = WW$ +"-": GOTO 15170
  38. 15180 WW$ = WW$ +" AND "
  39. 15190  GOSUB 15260:WW$ = WW$ +AW$ +"/100"
  40. 15200  RETURN 
  41. 15210  RESTORE : RETURN 
  42. 15220 PW =  VAL( LEFT$(AW$,1)):WX = PW: IF PW >1  THEN  RESTORE : FOR X = 0 TO 20: READ PW$: NEXT : FOR X = 2 TO PW: READ PW$: NEXT :WW$ = WW$ +PW$
  43. 15230  RETURN 
  44. 15240 PW =  VAL( LEFT$(AW$,1)): GOSUB 15210: FOR X = 0 TO PW: READ PW$: NEXT :WW$ = WW$ +PW$: RETURN 
  45. 15250 AW$ =  RIGHT$(AW$,( LEN(AW$) -1)): RETURN 
  46. 15260 AW$ =  RIGHT$(AW$,2): RETURN 
  47. 15270  IF  RIGHT$(WW$,1) = "-"  THEN WW$ =  LEFT$(WW$, LEN(WW$) -1)
  48. 15280  RETURN 
  49. 40010  DATA  "",ONE,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN
  50. 40020  DATA  ELEVEN,TWELVE,THIRTEEN,FOURTEEN,FIFTEEN,SIXTEEN,SEVENTEEN,EIGHTEEN,NINETEEN
  51. 40030  DATA "",TWENTY-,THIRTY-,FORTY-,FIFTY-,SIXTY-,SEVENTY-,EIGHTY-,NINETY-